1. Field of the Invention
The present invention is generally directed toward handling requests of host systems to physical storage locations within a storage complex. More specifically, the present invention relates to transferring requests to a virtualized storage element using virtual addresses so that the host systems can access the physical storage locations.
2. Discussion of Related Art
Large storage systems typically include storage elements that comprise a single storage device or an array of storage devices. The individual storage devices are accessed by host systems via Input/Output (I/O) requests, such as reading and writing, through one or more storage controllers. A user accessing the disks through the host system views the multiple disks as a single disk. One example of a large storage system includes a Redundant Array Of Independent Disks (RAID) storage system that has one or more logical units (LUNs) distributed over a plurality of disks. Multiple LUNs are often grouped together in storage partitions. Each storage partition is typically private to a particular host system, thus, LUNs of a particular storage partition are also private to the particular host system. Examples of the host systems include computing environments ranging from individual personal computers and workstations to large networked enterprises encompassing numerous, heterogeneous types of computing systems. A variety of well-known operating systems may be employed in such computing environments depending upon the needs of particular users and enterprises. Disks in such large storage systems may include standard hard disk drives as often found in personal computers as well as other types of storage devices such as optical storage, semiconductor storage (e.g., Random Access Memory disks, or RAM disks), tape storage, et cetera.
Large storage systems have a finite capacity that may be scaled up or down by adding or removing disk drives as deemed necessary by the amount of needed storage space. However, since the capacity is finite, storage space of the storage system is limited to a maximum number of disks that can be employed by a particular storage system. Once the limit of disks is reached, storage space of the storage system can only be increased by replacement of the residing disks with disks that have more storage space, assuming the storage controller of the storage system allows higher capacity disks. Such a process is limited by disk technology advancements or by capabilities of the storage controller.
Many organizations demand larger storage capacity and cannot wait for these disk technology advancements or for changes to the storage controllers within the storage system. For example, organizations that continually grow in size and technology have an ever-changing need to document and maintain information. These organizations also demand that the increases to their storage capacity be rapidly and easily implemented such that the stored information is rapidly accessible and flexibly configured for access within the organization. An unmanageable storage network of independent storage systems may impede processing of stored information.
Former solutions attempted to address the problems associated with the increased storage capacity demands. One solution employed multiple storage systems to increase the storage capacity. The storage capacity problem was, thus, simply solved through the scaling of storage space by the number of storage systems. Many of these solutions required the storage systems to operate independently, thereby mandating that users access information of each storage system independently. Other solutions required the storage systems to transfer large, unwieldy maps between storage elements and host system interfaces. These maps were necessary to direct the I/O requests to appropriate storage blocks within a particular disk. These large map transfers substantially degraded the more important storage transfer capabilities by occupying valuable memory bandwidth as well as data transfer bandwidth. Additionally, as more storage capacity was employed, larger and more complex maps caused management of the information to become excessively cumbersome
As evident from the above discussion, a need exists for improved structures and methods for managing storage transfer capabilities as the storage capacity is increased.